package xm.interfaces
{
	import flash.events.IEventDispatcher;
	import mx.core.mx_internal;
	import xm.core.XMSprite;

	//-----------------------------------------------------------------------------------
	// namespace 
	//-----------------------------------------------------------------------------------
	use namespace mx_internal;
	
	
	/**
	 * @author kjhbond
	 */	
	public interface IXMLayout extends IEventDispatcher
	{
		/**
		 * <br>속성 변경에 참여하는 메서드 queue</br> 
		 * @param obj : XMSprite
		 */			
		function invalidatePropertiesQueue( obj:XMSprite ):void;
		
		/**
		 * <br>생성시점 1번만 호출됨</br>
		 * <br>자식을 생성하고 초기화하는 메서드</br>
		 * @param obj
		 */		
		function invalidateChildrenQueue( obj:XMSprite ):void;
		
		/**
		 * <br>렌더링에 참여하는 메서드( 좌표, 사이즈 설정 등 )</br>
		 * @param obj
		 */		
		function invalidateDisplayListQueue( obj:XMSprite ):void;
	}
}

